<?php

ini_set("display_errors", 0);

require_once 'bd.php';
require_once 'lib/nusoap.php';

/**
 * Consulta um ticket de acordo com o id recebido e retorna o CPF,  Texto e Tipo de Chamado
 */
function ConsultarTicket($CodigoAcompanhamento) {
	
	$erro = FALSE;
	$codigoErro = FALSE;
	$cpf = FALSE;
	$texto = FALSE;
	$tipoChamado = FALSE;
	$data = FALSE;
	
	/*
	 * Parametros nao suficientes
	 */
	if($CodigoAcompanhamento == NULL) {
		$erro = TRUE;
		$codigoErro = "501";
		$retorno = array("CPF" => $cpf, "Texto" => $texto, "TipoChamado" => $tipoChamado, "Data" => $data, "Erro" => $codigoErro);
		return $retorno;
	}
	
	/*
	 * Tenta fazer a conexao com o banco pgsql
	 */
	$con = connect();
	if(!$con) { 
		$erro = TRUE;
		$codigoErro = "502";
		$retorno = array("CPF" => $cpf, "Texto" => $texto, "TipoChamado" => $tipoChamado, "Data" => $data, "Erro" => $codigoErro);
		return $retorno;
	} 
	
	/*
	 * Consulta o CPF e tipo de Chamado
	 */
	$queryCode = "SELECT c.cliente, t.nome
					FROM atendimento_cliente_chamado c INNER JOIN atendimento_cliente_tipochamado t ON c.tipo_id = t.id
					WHERE c.id = '".$CodigoAcompanhamento."'";
	$result = pg_query($queryCode);
	if (!$result || pg_num_rows($result) == 0) {
		$erro = TRUE;
		$codigoErro = "503";
		$retorno = array("CPF" => $cpf, "Texto" => $texto, "TipoChamado" => $tipoChamado,"Data" => $data,  "Erro" => $codigoErro);
		return $retorno;
	} else {
		$row = pg_fetch_row($result);
		$cpf = $row[0];
		$tipoChamado = $row[1];
	}
	
	// Inicializo a variavel de retorno das perguntas e respostas
	$texto = "";
	$data = ""; 
	
	/*
	 * Consulta a perguntas do chamado
	 */
	$queryCode = "SELECT descricao, data
					FROM atendimento_cliente_pergunta
					WHERE chamado_id = ".$CodigoAcompanhamento;
	$result = pg_query($queryCode);
	if (!$result)
	{
		$erro = TRUE;
		$codigoErro = "502";
		$retorno = array("CPF" => $cpf, "Texto" => $texto, "TipoChamado" => $tipoChamado, "Data" => $data, "Erro" => $codigoErro);
		return $retorno;
	}
	else 
	{
		$row = pg_fetch_row($result);
		$texto .= $row[0];
		$data .= $row[1];
	} 

	/*
	 * Consulta as respostas do chamado
	*/
	$queryCode = "SELECT descricao, data
					FROM atendimento_cliente_resposta
					WHERE chamado_id = ".$CodigoAcompanhamento."
					ORDER BY id ASC";
	$result = pg_query($queryCode);
	if (!$result)
	{
		$erro = TRUE;
		$codigoErro = "502";
		$retorno = array("CPF" => $cpf, "Texto" => $texto, "TipoChamado" => $tipoChamado, "Data" => $data, "Erro" => $codigoErro);
		return $retorno;
	}
	else 
	{
		while($row = pg_fetch_row($result))
		{
			$texto .= "|".$row[0];
			$data .= "|".$row[1];
		}
	}
	
	$retorno = array("CPF" => $cpf, "Texto" => $texto, "TipoChamado" => $tipoChamado, "Data" => $data, "Erro" => $codigoErro);
	return $retorno;

}

$server = new soap_server();
//$server->configureWSDL("ConsultarTicketServico");
$server->register("ConsultarTicket");
$server->service($HTTP_RAW_POST_DATA);

/* $server->register("ConsultarTicket",
 array("CodigoAcompanhamento" => "xsd:integer"),
		array("return" => "xsd:array"),
		"urn:ConsultarTicketServico",
		"urn:ConsultarTicketServico#ConsultarTicket",
		"rpc",
		"encoded",
		"Get a listing of products by category"); */


?>